package com;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * 使用迭代器的时候,不能使用集合的删除,应该使用迭代器的删除
 * 
 * @author lenovo
 * @Date 2020年7月16日
 * @Time 下午8:01:36
 */
public class Collection_04 {

	public static void main(String[] args) {
//		Collection c = new ArrayList();
//		List l = new ArrayList();
		ArrayList c = new ArrayList();
		c.add(1);
		c.add(2);
		c.add(3);
		c.add(4);
		// ArrayList 有个 remove 方法重载,传入整型是删除对应的下标
//		c.remove(2);
//		for (Object object : c) {
//			System.out.println(object);
//		}
//		c.remove(1);
//		for (Object object : c) {
//			System.out.println(object);
//		}

		Iterator it = c.iterator();
		while (it.hasNext()) {
			Object object = it.next();
			// 不能使用迭代器的删除,迭代器创建后,集合不能添加删除元素
//			c.remove(object);//java.util.ConcurrentModificationException

			// 可以使用迭代器的删除,会把迭代器和集合中都删除
			// 删除当前指向的元素
			it.remove();
		}
	}

}
